#pragma once

struct BorderShow
{
	BorderShow();
	BorderShow(bool show);
	BorderShow(bool horiz, bool verti);//horiz = up&down,verti = left&right
	BorderShow(bool left, bool right, bool up, bool down);
	BorderShow(BorderShow& bdshowinfo);
	void set();//all true
	void set(bool show);
	void set(bool horiz, bool verti);
	void set(bool left, bool right, bool up, bool down);
	void set(const BorderShow& bs);
public:
	bool left;
	bool right;
	bool up;
	bool down;
};

struct BorderStyle
{
	BorderStyle();
	BorderStyle(char border);//all = border
	BorderStyle(char horiz, char verti);//hor/vert
	BorderStyle(char left, char right, char up, char down);//all set
	BorderStyle(const BorderStyle& bdinfo);
	void set();//default horiz = '-' verti = '|'
	void set(char border);
	void set(char horiz, char verti);
	void set(char left, char right, char up, char down);
	void set(const BorderStyle& bs);
public:
	char left;
	char right;
	char up;
	char down;
};

struct CornerStyle
{
	CornerStyle();
	CornerStyle(char corner);//with corner
	CornerStyle(char left_up, char left_down, char right_up, char right_down);//all set
	CornerStyle(const CornerStyle& bcinfo);
	void set();//default = '@'
	void set(char corner);
	void set(char left_up, char left_down, char right_up, char right_down);
	void set(const CornerStyle& cs);
public:
	char left_up;
	char left_down;
	char right_up;
	char right_down;
};

struct CornerShow
{
	CornerShow();
	CornerShow(bool show);
	CornerShow(bool left_up, bool right_up, bool left_down, bool right_down);
	CornerShow(const CornerShow& cs);
	void set();
	void set(bool show);
	void set(bool left_up, bool right_up, bool left_down, bool right_down);
	void set(const CornerShow& cs);
	bool left_up;
	bool left_down;
	bool right_up;
	bool right_down;
};

